CRONO SDK 1.0.1
Crono device control signal management functions.

Functions

CRONO_Return CRONO_ConfigFrameStartInternal (CRONO_H crono, double frameRate, double *actualBin)
 
CRONO_Return CRONO_ConfigFrameStartExternal (CRONO_H crono, double frameRate, double threshold, cronoBool externalStartPosedge, int divFactor)
 
CRONO_Return CRONO_ConfigGateExternal (CRONO_H crono, double threshold, cronoBool externalGateInvert)
 
CRONO_Return CRONO_ConfigGateInternal (CRONO_H crono, int *pattern, int patternLen)
 
CRONO_Return CRONO_ConfigLaserSync (CRONO_H crono, int *pattern, int patternLen)
 
CRONO_Return CRONO_ConfigOutputs (CRONO_H crono, int chan1Selection, int chan2Selection, int chan3Selection)
 
CRONO_Return CRONO_ConfigAuxiliaryInputs (CRONO_H crono, CRONO_AuxInputMode bitModeA, CRONO_AuxInputMode bitModeB, double bitAThreshold)
 
CRONO_Return CRONO_ConfigTriggerExternal (CRONO_H crono, int framesBurstCount)
 
CRONO_Return CRONO_ConfigTriggerInternal (CRONO_H crono)
 
CRONO_Return CRONO_GetInputFrequencies (CRONO_H crono, double *extStartFrequency, double *extGateFrequency, double *extTriggerFrequency)
 

Detailed Description

Functions to configure and manage internal and external control signals.

Function Documentation

◆ CRONO_ConfigAuxiliaryInputs()

CRONO_Return CRONO_ConfigAuxiliaryInputs ( CRONO_H  crono,
CRONO_AuxInputMode  bitModeA,
CRONO_AuxInputMode  bitModeB,
double  bitAThreshold 
)

Configure aux inputs sampling.

When sampling is active, time tagging for each aux event can be retrieved using CRONO_GetTimeTagsData(), even if timeTagsEnable is set to false in CRONO_ConfigAcquisition(), provided that histogramsEnable or framesEnable are set to true, i.e. acquisition is not raw only.

Parameters
cronoHandle to an existing Crono object.
bitModeAMode of sampling for auxiliary input A (external gate). Refer to the definition of CRONO_AuxInputMode for details about all modes.
bitModeBMode of sampling for auxiliary input B (external trigger). Refer to the definition of CRONO_AuxInputMode for details about all modes.
bitAThresholdThreshold for input A (this is the same as external gate threshold).
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_ConfigFrameStartExternal()

CRONO_Return CRONO_ConfigFrameStartExternal ( CRONO_H  crono,
double  frameRate,
double  threshold,
cronoBool  externalStartPosedge,
int  divFactor 
)

Sets the camera in external frame start mode and configure the associated parameters.

Even when start is external the expected maximum frame rate must be provided to the SDK, in order to properly configure the internal camera signal generator for laser sync. When in external start mode, internal gate is fixed to always-on. External gate can we arbitrary.

Parameters
cronoHandle to an existing Crono object.
frameRateExpected maximum start rate after division of externally provided frame start signal, expressed in Hz. When employing aperiodic signals this value should be greater than or equal to the reciprocal of the minimum inter-time between triggering edges. Valid values range from 20e3 (20kHz) to maxFrameStartFrequency (including limits).
thresholdTriggering voltage level i.e. threshold of external frame start signal. The value is expressed in V (Volts).
externalStartPosedgeSelects the triggering edge of external frame start signal. When true, Crono frames start at rising edges. When false Crono frames start at falling edges.
divFactorThe external start signal triggers a frame every divFactor rising or falling edges of the external start signal. When equal to 1, Crono will trigger on all incoming rising or falling edges. Valid values range from 1 to 1000 (including limits).
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_ConfigFrameStartInternal()

CRONO_Return CRONO_ConfigFrameStartInternal ( CRONO_H  crono,
double  frameRate,
double *  actualBin 
)

Sets the camera in internal frame start mode and sets the frame start rate.

The actual time bin (nominally 1ns) used for gate and laser sync generation depends on the internal start frequency. The calculated correction factor is returned by the referenced actualBin parameter.

Parameters
cronoHandle to an existing Crono object.
frameRateDesired frame rate. Please make sure that this value never exceeds maxFrameStartFrequency provided by CRONO_ConfigSensor(). Neglect of such requirement will potentially yield to corrupted even counts and /or tdc conversions. The minimum allowed frame rate is 20e3.
actualBinPointer to the calculated bin value in ns, to be used for internal gate and laser sync signals.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_ConfigGateExternal()

CRONO_Return CRONO_ConfigGateExternal ( CRONO_H  crono,
double  threshold,
cronoBool  externalGateInvert 
)

Sets the camera in external gate mode and configure the associated parameters.

Parameters
cronoHandle to an existing Crono object.
thresholdThreshold level of external gate signal.
externalGateInvertWhen true inverts the external external gate signal.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_ConfigGateInternal()

CRONO_Return CRONO_ConfigGateInternal ( CRONO_H  crono,
int *  pattern,
int  patternLen 
)

Set the camera in internal gate mode and configures the pattern of internally generated gate.

The pattern is an array on integer, expressing in bins (of nominal duration of 1ns) alternatively the OFF and ON sections of the gate signal. The actual bin size depends on the applied Frame-Start frequency and is returned by the function CRONO_ConfigFrameStartInternal(). Note that external gate signals, if applied to the camera, will be ignored for gate generation but can still be sampled as auxiliary input A.

Parameters
cronoHandle to an existing Crono object.
patternPointer to user-defined pattern array. The sum of all pattern value must never exceed 65536, and the number of entries must not exceed 8192. Each OFF section, except the very first, must be at least MIN_GATE_OFF bins. Each ON section must be at least MIN_GATE_ON bins. Please refer to the Crono user manual for further details.
patternLenLength to user-defined pattern array.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_ConfigLaserSync()

CRONO_Return CRONO_ConfigLaserSync ( CRONO_H  crono,
int *  pattern,
int  patternLen 
)

Configures the pattern of internally generated laser syncronization signal.

The pattern is an array on integer, expressing in bins alternatively the OFF and ON sections of the sync signal. When Frame-Start is external the bin size is 1ns. When Frame-Start is internal the nominal bin size is 1ns, but the actual bin size depends on the applied Frame-Start frequency and is returned by the function CRONO_ConfigFrameStartInternal().

Parameters
cronoHandle to an existing Crono object.
patternPointer to user-defined pattern array. The sum of all pattern value must never exceed 65536, and the number of entries must not exceed 8192. Please refer to the Crono user manual for further details.
patternLenLength to user-defined pattern array.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_ConfigOutputs()

CRONO_Return CRONO_ConfigOutputs ( CRONO_H  crono,
int  chan1Selection,
int  chan2Selection,
int  chan3Selection 
)

Configures which Crono signals are forwarded to each of the three output ports.

Note that not each port has a specific selection of allowed signal. Please refer to the Crono user manual for further details on available signals.

Parameters
cronoHandle to an existing Crono object.
chan1SelectionSelection for channel 1. Valid numbers range from 0 to 7. 0 - LASER SYNC OUT, 1 - 10 MHz REF, 2 - BUSY, 3 - EXTERNAL START, 4 - TRIGGER IN, 5 - AUX IN A SAMPLE, 6 - AUX IN B SAMPLE, 7 - OFF.
chan2SelectionSelection for channel 1. Valid numbers range from 0 to 7. 0 - FRAME START, 1 - 10 MHz REF, 2 - BUSY, 3 - EXTERNAL START, 4 - TRIGGER IN, 5 - AUX IN A SAMPLE, 6 - AUX IN B SAMPLE, 7 - OFF.
chan3SelectionSelection for channel 1. Valid numbers range from 0 to 7. 0 - GATE, 1 - 10 MHz REF, 2 - BUSY, 3 - EXTERNAL START, 4 - TRIGGER IN, 5 - AUX IN A SAMPLE, 6 - AUX IN B SAMPLE, 7 - OFF.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_ConfigTriggerExternal()

CRONO_Return CRONO_ConfigTriggerExternal ( CRONO_H  crono,
int  framesBurstCount 
)

Sets the camera in external trigger mode.

Parameters
cronoHandle to an existing Crono object.
framesBurstCountNumber of frames in a triggered frame burst. When equal to zero the triggered burst is indefinitely long. Valid values range form 0 (infinite burst mode) to 65536 (including limits).
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_ConfigTriggerInternal()

CRONO_Return CRONO_ConfigTriggerInternal ( CRONO_H  crono)

Sets the camera in internal trigger mode.

External trigger signals will be ignored but external trigger port can still be sampled as auxiliary input B.

Parameters
cronoHandle to an existing Crono object.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.

◆ CRONO_GetInputFrequencies()

CRONO_Return CRONO_GetInputFrequencies ( CRONO_H  crono,
double *  extStartFrequency,
double *  extGateFrequency,
double *  extTriggerFrequency 
)

Gets the current meaured input signal frequencies at the SMA inputs.

Parameters
cronoHandle to an existing Crono object.
extStartFrequencyFrequency at the external start input.
extGateFrequencyFrequency at the external gate input.
extTriggerFrequencyFrequency at the trigger input.
Returns
CRONO_Return
Examples
CRONO_SDK_Example.c.